package com.marvels.financial.loan.service;
import java.util.List;

import com.github.pagehelper.Page;
import com.marvels.common.exception.MarvelsBusinessException;
import com.marvels.financial.loan.dto.AdjustmentFeeReviewDto;
import com.marvels.financial.loan.dto.McfeAdjustmentFeeDTO;
import com.marvels.financial.loan.dto.McfeTransactionCodeDTO;
import com.marvels.financial.loan.dto.PenaltyAdjustConditionDto;
import com.marvels.financial.loan.dto.PenaltyAdjustDto;


/**
 * 罚息调整
 * @author tangpw
 *
 */
public interface PenaltyAdjustmentApi {
	
	/**
	 * 罚息调整列表
	 * @param dto
	 * @return
	 */
	public Page<PenaltyAdjustDto> penaltyAdjustmentList(PenaltyAdjustConditionDto dto) throws MarvelsBusinessException;
	
	
	
	/**
	 * 查询罚息调整交易类型
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<McfeTransactionCodeDTO> queryCodeList() throws MarvelsBusinessException;
	
	
	/**
	 * 罚息调整历史记录
	 * @param dto
	 * @return
	 */
	public Page<McfeAdjustmentFeeDTO> penaltyAdjustmentHistory(PenaltyAdjustConditionDto dto) throws MarvelsBusinessException;
	
	
	/**
	 * 罚息调整申请
	 * @param dto
	 * @throws MarvelsBusinessException
	 */
	public void penaltyAdjustmentApply(PenaltyAdjustConditionDto dto) throws MarvelsBusinessException;
	
	
	
	
	
	/**
	 * 查询罚息调整审核列表
	 * @param dto
	 * @return
	 */
	public Page<AdjustmentFeeReviewDto> penaltyAdjustmentReview(PenaltyAdjustConditionDto dto) throws MarvelsBusinessException;
	
	
	
	
	
	/**
	 * 罚息调整审核通过
	 * @param dto
	 * @throws MarvelsBusinessException
	 */
	public void penaltyAdjustmentAdopt(PenaltyAdjustConditionDto dto) throws MarvelsBusinessException;
	
	
	
	
	
	/**
	 * 罚息调整审核拒绝
	 * @param dto
	 * @throws MarvelsBusinessException
	 */
	public void penaltyAdjustmentRefuse(PenaltyAdjustConditionDto dto) throws MarvelsBusinessException;
	
	
	
	/**
	 * 查询罚息调整列表
	 * @param dto
	 * @return
	 */
	public Page<AdjustmentFeeReviewDto> penaltyAdjustmentQuery(PenaltyAdjustConditionDto dto) throws MarvelsBusinessException;
	
}
